/**
* 假设接收到的广播 Intent 内容如下：
*
* action: com.autojs.intent.INTENT_RECEIVED_DEMO
* data: package:net.dinglisch.android.taskerm
* package: org.autojs.autojs
* extras:
*   from:Tasker
*   message:Hello Autojs
*
* 说明：以上 intent 并非真实的格式，仅是为了令读者知道该 intent 有哪些值
*/

/**
* 由广播 Intent 触发的脚本都可通过以下方法获取到该广播的 Intent 对象
* 需注意，该对象为 Android 的 Intent 对象，需调用 Android 的 Intent 方法
*/
var e = engines.myEngine().execArgv;
const intent = engines.myEngine().execArgv.intent;
if (!intent) {
    console.log("没有捕获到广播 Intent 对象");
} else {
    const action = intent.action; // 读取 action；同 intent.getAction()
    const data = intent.data; // 读取 data，返回 Java Uri 对象；同 intent.getData()
    const package = intent.package; // 读取 package；同 intent.getPackage()
    const from = intent.getStringExtra('from'); // 读取 extras 中的 from 值
    const message = intent.getStringExtra('message'); // 读取 extras 中的 message 值

    console.log(action); // "com.autojs.intent.USER_DEFINED"
    console.log(data); // "package:net.dinglisch.android.taskerm"
    console.log(package); // "org.autojs.autojs"
    console.log(from); // "Tasker"
    console.log(message); // "Hello Autojs"

    // 遍历所有 extras 值（上面为单个 extra 的读取）
    let o = {};
    const extras = intent.extras;
    if(extras) {
    let iter = extras.keySet().iterator();
    while(iter.hasNext()) {
        let key = iter.next();
        o[key] = extras.get(key);
    }
    }
    console.log(JSON.stringify(o)); // {"from":"Tasker","message":"Hello Autojs"}
}